//! 资源加载框架的错误类型

use thiserror::Error;

/// 资源加载错误
#[derive(Error, Debug)]
pub enum ResourceError {
    /// 资源未找到
    #[error("资源未找到: {0}")]
    ResourceNotFound(String),

    /// 资源加载失败
    #[error("资源加载失败: {0}")]
    LoadFailed(String),

    /// 配置错误
    #[error("配置错误: {0}")]
    ConfigError(String),

    /// 缓存错误
    #[error("缓存错误: {0}")]
    CacheError(String),

    /// 注册表错误
    #[error("注册表错误: {0}")]
    RegistryError(String),

    /// 其他错误
    #[error("其他错误: {0}")]
    Other(String),
}

/// 资源加载结果类型
pub type ResourceResult<T> = Result<T, ResourceError>;
